﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CuaHangMayTinh.Utilities;
using DevComponents.DotNetBar.Controls;

namespace CuaHangMayTinh.PresentationLayer
{
    /// <summary>
    /// form tìm kiếm của nhà cung cấp chi tiết
    /// </summary>
    public partial class FormNhaCungCapTimKiem : Form
    {
        /// <summary>
        /// tables chua thông tin cần tìm kiếm
        /// </summary>
        public DataTable Table { get; set; }

        /// <summary>
        /// kiểu muốn tìm kiếm
        /// </summary>
        enum KieuTimKiem
        {
            Tên,
            Địa_chỉ,
            Số_điện_thoại,
            Mã_hóa_đơn
        }

        /// <summary>
        /// phương thức khởi tạo form nhà cung cấp
        /// </summary>
        /// <param name="dt">datatable cần tìm kiếm</param>
        public FormNhaCungCapTimKiem(DataTable dt)
        {
            InitializeComponent();
            Table = dt;
            dataGridViewX_Select.DataSource = Table;
        }

        /// <summary>
        /// load form nhà cung cấp
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FormNhaCungCapTimKiem_Load(object sender, EventArgs e)
        {
            toolStripcbb_kieutim.ComboBox.DataSource = Enum.GetValues(typeof(KieuTimKiem));
        }

        /// <summary>
        /// bắt sự kiện khi thay đổi datasource 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataGridViewX_Select_DataSourceChanged(object sender, EventArgs e)
        {
            DataGridViewX dt = (sender as DataGridViewX);
            if (dt.Columns.Count > 0)
            {
                dt.Columns[0].Visible = false;
            }
        }

        /// <summary>
        /// bắt sự kiện khi thay đổi textbox 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void toolStripTextBox_serchkey_TextChanged(object sender, EventArgs e)
        {
            string text = (sender as ToolStripTextBox).Text;
            int kieu = (int)Enum.Parse(typeof(KieuTimKiem), toolStripcbb_kieutim.SelectedItem.ToString());
            var dt = new DataTable();
            switch (kieu)
            {
                case 0:
                    dt = DataUtil.TimkiemTheo(Table, "Tên nhà cung cấp", text);
                    break;
                case 1:
                    dt = DataUtil.TimkiemTheo(Table, "Địa chỉ", text);
                    break;
                case 2:
                    dt = DataUtil.TimkiemTheo(Table, "Số điện thoại", text);
                    break;
                case 3:
                    //tim kiem theo nghiep vu
                    break;
                default:
                    break;
            }
            dataGridViewX_Select.DataSource = dt;
        }
    }
}
